/**
 * 判断两个类型是否全等
 */
type IsEqual<X, Y> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y
  ? 1
  : 2
  ? true
  : false;
type A = IsEqual<any, unknown>;
